import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { SharedModule  } from './shared/shared.module';
import { AppRoutingModule } from './app-routing.module';
import { PagesModule } from './pages/pages.module';
import Interceptors from '@services/interceptors';
// import { TestRxComponent } from './demos/components/test-rx/test-rx.component';
// import { LayoutComponent } from './pages/layout/layout.component';
// import { HerosComponent } from './pages/home/heros/heros.component';
// import { TplContainerComponent } from './pages/tpl-container/tpl-container.component';
// import { ContentChildComponent } from './pages/content-child/content-child.component';
// import { ContentPanelComponent } from './pages/content-child/panel/panel.component';
// import { ViewChildComponent } from './pages/view-child/view-child.component';
// import { ChildPanelComponent } from './pages/view-child/panel/child-panel.component';
// import { AlertComponent } from './pages/alert/alert.component';
// import { PipeComponent } from './pages/pipe/pipe.component';
// import { ShadowComponent } from './pages/shadow/shadow.component';
// import { FlowerComponent } from './demos/components/flower/flower.component';
// import { MobileService } from './demos/components/mobile/mobile.service';
// import { LoggerService } from './demos/services/logger.service';
// import { BetterLoggerService } from './demos/services/better-logger.service';
// import { MobileComponent } from './demos/components/mobile/mobile.component';
// import { MobileListComponent } from './demos/components/mobile/mobile-list/mobile-list.component';
// import { MobileItemComponent } from './demos/components/mobile/mobile-item/mobile-item.component';
// import { HomeComponent } from './pages/home/home.component';
// import HeroService from './services/hero.service';


@NgModule({
  declarations: [
    AppComponent
 ],
 // entryComponents: [AlertComponent],
  imports: [
    BrowserModule,
    CommonModule,
    FormsModule,
    HttpClientModule,
    SharedModule,
    PagesModule,
    BrowserModule,
    BrowserAnimationsModule,
    AppRoutingModule
  ],
  providers: [
    ...Interceptors
    // MobileService,
    // BetterLoggerService,
    // {provide: LoggerService, useExisting: BetterLoggerService}
  ],
  // providers: [HeroService],
  // providers: [{provide: HeroService, useClass: HeroService]
  // providers: [{provide: LoggerService, useValue: 'simple flower'}]
  // providers: [{provide: 'httpApi', useValue: '123.com'}]
  // providers: [{provide: LoggerService, useFactory() { return new LoggerService('like') }]
  bootstrap: [AppComponent]
})
export class AppModule { }
